home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
c
/
bchelp10.zip
/
TI803.ASC
< prev
next >
Wrap
Text File
|
1991-09-17
|
2KB
|
133 lines
PRODUCT : C++ NUMBER : 803
VERSION : All
OS : PC DOS
DATE : September 17, 1991 PAGE : 1/1
TITLE : Dynamically Allocated Multidimensional Arrays
#include <stdio.h>
#include <alloc.h>
#define ROW 10
#define COLUMN 15
typedef int ARRAYTYPE;
typedef ARRAYTYPE * ARRAYTYPEPTR;
/* Declare the 2D array as a pointer to a pointer to
ARRAYTYPE */
/* Note there is no memory allocated for the array yet.
*/
ARRAYTYPEPTR *array;
void main()
{
int i, j;
/* First, allocate an array of pointers to ARRAYTYPE of ROW
*/
/* elements. Next, looping through the array of pointers,
*/
/* allocate arrays of ARRAYTYPE of COLUMN elements and
assign */
/* them to the pointers. This assigns the necessary memory
to */
/* the array, which you can then index via the [] operators.
*/
array = (ARRAYTYPEPTR *) malloc (ROW * sizeof(ARRAYTYPEPTR));
for (i = 0; i < ROW; i++)
array[i] = (ARRAYTYPEPTR) malloc (COLUMN * sizeof
(ARRAYTYPE));
/* Fill array with unique values */
for (i = 0; i < ROW; i++)
for (j = 0; j < COLUMN; j++)
array[i][j] = (COLUMN * i) + j;
/* Print out array to make sure everything's OK */
PRODUCT : C++ NUMBER : 803
VERSION : All
OS : PC DOS
DATE : September 17, 1991 PAGE : 2/1
TITLE : Dynamically Allocated Multidimensional Arrays
for (i = 0; i < ROW; i++) {
for (j = 0; j < COLUMN; j++)
printf("%4d",array[i][j]);
putchar('\n');
}
}